home *** CD-ROM | disk | FTP | other *** search
- global gSize, gCast, gFirstColor, gSecondColor, myCurrentImage, myCurrentPreview, myCurrentSelection, gSelectRect, gSelectionEdited, myStartImage, gHSL, gBC, gBCMin, gBCMax
-
- on invertImage32
- cursor(4)
- if sprite(1).pUndoTrigger = 0 then
- sprite(1).pUndoTrigger = 1
- end if
- if sprite(4).left = 800 then
- member("state1 - " & gSize, gCast).image = member(gSize & "x" & gSize, gCast).image
- myCurrentImage = duplicate(member(gSize & "x" & gSize, gCast).image)
- myCurrentPreview = duplicate(member("preview", gCast).image)
- repeat with Y = 0 to integer(gSize) - 1
- repeat with X = 0 to integer(gSize) - 1
- currentColor = myCurrentImage.getPixel(X, Y)
- myCurrentImage.setPixel(X, Y, rgb(255 - currentColor.red, 255 - currentColor.green, 255 - currentColor.blue))
- end repeat
- end repeat
- member(gSize & "x" & gSize, gCast).image.copyPixels(myCurrentImage, myCurrentImage.rect, myCurrentImage.rect)
- updateStage()
- fnUpdatePreview()
- sprite(35).pState = 0
- sendSprite(35, #setMember)
- member("state2 - " & gSize, gCast).image = member(gSize & "x" & gSize, gCast).image
- myCurrentImage = VOID
- myCurrentPreview = VOID
- else
- if gSelectionEdited = 0 then
- if the shiftDown <> 1 then
- myStartImage.fill(gSelectRect, gSecondColor)
- end if
- member("state1 - " & gSize, gCast).image = member(gSize & "x" & gSize, gCast).image
- end if
- repeat with Y = 0 to gSelectRect.height - 1
- repeat with X = 0 to gSelectRect.width - 1
- currentColor = myCurrentSelection.getPixel(X, Y)
- myCurrentSelection.setPixel(X, Y, rgb(255 - currentColor.red, 255 - currentColor.green, 255 - currentColor.blue))
- end repeat
- end repeat
- myCurrentImage.copyPixels(myStartImage, myCurrentImage.rect, myStartImage.rect)
- myCurrentImage.copyPixels(myCurrentSelection, gSelectRect, myCurrentSelection.rect)
- member(gSize & "x" & gSize, gCast).image.copyPixels(myCurrentImage, myCurrentImage.rect, myCurrentImage.rect)
- updateStage()
- fnUpdatePreview()
- gSelectionEdited = 1
- end if
- cursor(0)
- end
-
- on colorizeImage32
- cursor(4)
- if sprite(1).pUndoTrigger = 0 then
- sprite(1).pUndoTrigger = 1
- end if
- if sprite(4).left = 800 then
- member("state1 - " & gSize, gCast).image = member(gSize & "x" & gSize, gCast).image
- myCurrentImage = duplicate(member(gSize & "x" & gSize, gCast).image)
- myCurrentPreview = duplicate(member("preview", gCast).image)
- currentLum = integer((gFirstColor.red * 0.29999999999999999) + (gFirstColor.green * 0.59999999999999998) + (gFirstColor.blue * 0.10000000000000001))
- repeat with Y = 0 to integer(gSize) - 1
- repeat with X = 0 to integer(gSize) - 1
- currentColor = myCurrentImage.getPixel(X, Y)
- grayValue = integer((currentColor.red * 0.29999999999999999) + (currentColor.green * 0.59999999999999998) + (currentColor.blue * 0.10000000000000001))
- valueDiff = (grayValue - currentLum) / 2
- myCurrentImage.setPixel(X, Y, rgb(integer(((gFirstColor.red + grayValue) / 2) + valueDiff), integer(((gFirstColor.green + grayValue) / 2) + valueDiff), integer(((gFirstColor.blue + grayValue) / 2) + valueDiff)))
- end repeat
- end repeat
- member(gSize & "x" & gSize, gCast).image.copyPixels(myCurrentImage, myCurrentImage.rect, myCurrentImage.rect)
- updateStage()
- fnUpdatePreview()
- sprite(35).pState = 0
- sendSprite(35, #setMember)
- member("state2 - " & gSize, gCast).image = member(gSize & "x" & gSize, gCast).image
- myCurrentImage = VOID
- myCurrentPreview = VOID
- else
- if gSelectionEdited = 0 then
- if the shiftDown <> 1 then
- myStartImage.fill(gSelectRect, gSecondColor)
- end if
- member("state1 - " & gSize, gCast).image = member(gSize & "x" & gSize, gCast).image
- end if
- currentLum = integer((gFirstColor.red * 0.29999999999999999) + (gFirstColor.green * 0.59999999999999998) + (gFirstColor.blue * 0.10000000000000001))
- repeat with Y = 0 to gSelectRect.height - 1
- repeat with X = 0 to gSelectRect.width - 1
- currentColor = myCurrentSelection.getPixel(X, Y)
- grayValue = integer((currentColor.red * 0.29999999999999999) + (currentColor.green * 0.59999999999999998) + (currentColor.blue * 0.10000000000000001))
- valueDiff = (grayValue - currentLum) / 2
- myCurrentSelection.setPixel(X, Y, rgb(integer(((gFirstColor.red + grayValue) / 2) + valueDiff), integer(((gFirstColor.green + grayValue) / 2) + valueDiff), integer(((gFirstColor.blue + grayValue) / 2) + valueDiff)))
- end repeat
- end repeat
- myCurrentImage.copyPixels(myStartImage, myCurrentImage.rect, myStartImage.rect)
- myCurrentImage.copyPixels(myCurrentSelection, gSelectRect, myCurrentSelection.rect)
- member(gSize & "x" & gSize, gCast).image.copyPixels(myCurrentImage, myCurrentImage.rect, myCurrentImage.rect)
- updateStage()
- fnUpdatePreview()
- gSelectionEdited = 1
- end if
- cursor(0)
- end
-
- on blurImage32
- cursor(4)
- if sprite(1).pUndoTrigger = 0 then
- sprite(1).pUndoTrigger = 1
- end if
- if sprite(4).left = 800 then
- member("state1 - " & gSize, gCast).image = member(gSize & "x" & gSize, gCast).image
- myCurrentImage = duplicate(member(gSize & "x" & gSize, gCast).image)
- myCurrentPreview = duplicate(member("preview", gCast).image)
- imgW = myCurrentImage.width
- imgH = myCurrentImage.height
- offsetL = [[0, 0], [2, 2], [0, 2], [2, 0], [0, 1], [2, 1], [1, 0], [1, 2], [1, 1]]
- myBlend = 4 * 255 / offsetL.count
- tempImage = image(imgW + 2, imgH + 2, 32)
- myRect = rect(0, 0, myCurrentImage.width, myCurrentImage.height)
- repeat with j = 1 to 9
- destRect = myRect.offset(offsetL[j][1], offsetL[j][2])
- tempImage.copyPixels(myCurrentImage, destRect, myRect, [#blendLevel: myBlend])
- end repeat
- myCurrentImage = tempImage.duplicate().crop(myRect.offset(1, 1))
- member(gSize & "x" & gSize, gCast).image.copyPixels(myCurrentImage, myCurrentImage.rect, myCurrentImage.rect)
- updateStage()
- fnUpdatePreview()
- sprite(35).pState = 0
- sendSprite(35, #setMember)
- member("state2 - " & gSize, gCast).image = member(gSize & "x" & gSize, gCast).image
- myCurrentImage = VOID
- myCurrentPreview = VOID
- tempImage = VOID
- else
- if gSelectionEdited = 0 then
- if the shiftDown <> 1 then
- myStartImage.fill(gSelectRect, gSecondColor)
- end if
- member("state1 - " & gSize, gCast).image = member(gSize & "x" & gSize, gCast).image
- end if
- mainAlpha = myCurrentSelection.extractAlpha()
- imgW = myCurrentSelection.width
- imgH = myCurrentSelection.height
- offsetL = [[0, 0], [2, 2], [0, 2], [2, 0], [0, 1], [2, 1], [1, 0], [1, 2], [1, 1]]
- myBlend = 4 * 255 / offsetL.count
- tempImage = image(imgW + 2, imgH + 2, 32)
- myRect = rect(0, 0, myCurrentSelection.width, myCurrentSelection.height)
- repeat with j = 1 to 9
- destRect = myRect.offset(offsetL[j][1], offsetL[j][2])
- tempImage.copyPixels(myCurrentSelection, destRect, myRect, [#blendLevel: myBlend])
- end repeat
- myCurrentSelection = tempImage.duplicate().crop(myRect.offset(1, 1))
- myCurrentSelection.useAlpha = 1
- myCurrentSelection.setAlpha(mainAlpha)
- myCurrentImage.copyPixels(myStartImage, myCurrentImage.rect, myStartImage.rect)
- myCurrentImage.copyPixels(myCurrentSelection, gSelectRect, myCurrentSelection.rect)
- member(gSize & "x" & gSize, gCast).image.copyPixels(myCurrentImage, myCurrentImage.rect, myCurrentImage.rect)
- updateStage()
- fnUpdatePreview()
- gSelectionEdited = 1
- tempImage = VOID
- mainAlpha = VOID
- end if
- cursor(0)
- end
-
- on sharpenImage32
- cursor(4)
- if sprite(1).pUndoTrigger = 0 then
- sprite(1).pUndoTrigger = 1
- end if
- if sprite(4).left = 800 then
- member("state1 - " & gSize, gCast).image = member(gSize & "x" & gSize, gCast).image
- myCurrentImage = duplicate(member(gSize & "x" & gSize, gCast).image)
- myCurrentPreview = duplicate(member("preview", gCast).image)
- imgW = myCurrentImage.width
- imgH = myCurrentImage.height
- offsetL = [[0, 0], [2, 2], [0, 2], [2, 0], [0, 1], [2, 1], [1, 0], [1, 2], [1, 1]]
- myBlend = 4 * 255 / offsetL.count
- tempImage = image(imgW + 2, imgH + 2, 32)
- myRect = rect(0, 0, myCurrentImage.width, myCurrentImage.height)
- repeat with j = 1 to 9
- destRect = myRect.offset(offsetL[j][1], offsetL[j][2])
- tempImage.copyPixels(myCurrentImage, destRect, myRect, [#blendLevel: myBlend])
- end repeat
- myBufferImage = tempImage.duplicate().crop(myRect.offset(1, 1))
- repeat with Y = 0 to integer(gSize) - 1
- repeat with X = 0 to integer(gSize) - 1
- testColor = myBufferImage.getPixel(X, Y)
- runningLevel = integer((testColor.red * 0.29999999999999999) + (testColor.green * 0.59999999999999998) + (testColor.blue * 0.10000000000000001))
- testColor2 = myCurrentImage.getPixel(X, Y)
- runningLevel2 = integer((testColor2.red * 0.29999999999999999) + (testColor2.green * 0.59999999999999998) + (testColor2.blue * 0.10000000000000001))
- pixelDiff = runningLevel - runningLevel2
- myCurrentImage.setPixel(X, Y, rgb(testColor2.red - pixelDiff, testColor2.green - pixelDiff, testColor2.blue - pixelDiff))
- end repeat
- end repeat
- member(gSize & "x" & gSize, gCast).image.copyPixels(myCurrentImage, myCurrentImage.rect, myCurrentImage.rect)
- updateStage()
- fnUpdatePreview()
- sprite(35).pState = 0
- sendSprite(35, #setMember)
- member("state2 - " & gSize, gCast).image = member(gSize & "x" & gSize, gCast).image
- myCurrentImage = VOID
- myCurrentPreview = VOID
- myBufferImage = VOID
- tempImage = VOID
- else
- if gSelectionEdited = 0 then
- if the shiftDown <> 1 then
- myStartImage.fill(gSelectRect, gSecondColor)
- end if
- member("state1 - " & gSize, gCast).image = member(gSize & "x" & gSize, gCast).image
- end if
- imgW = myCurrentSelection.width
- imgH = myCurrentSelection.height
- offsetL = [[0, 0], [2, 2], [0, 2], [2, 0], [0, 1], [2, 1], [1, 0], [1, 2], [1, 1]]
- myBlend = 4 * 255 / offsetL.count
- tempImage = image(imgW + 2, imgH + 2, 32)
- myRect = rect(0, 0, myCurrentSelection.width, myCurrentSelection.height)
- repeat with j = 1 to 9
- destRect = myRect.offset(offsetL[j][1], offsetL[j][2])
- tempImage.copyPixels(myCurrentSelection, destRect, myRect, [#blendLevel: myBlend])
- end repeat
- myBufferImage = tempImage.duplicate().crop(myRect.offset(1, 1))
- repeat with Y = 0 to gSelectRect.height - 1
- repeat with X = 0 to gSelectRect.width - 1
- testColor = myBufferImage.getPixel(X, Y)
- runningLevel = integer((testColor.red * 0.29999999999999999) + (testColor.green * 0.59999999999999998) + (testColor.blue * 0.10000000000000001))
- testColor2 = myCurrentSelection.getPixel(X, Y)
- runningLevel2 = integer((testColor2.red * 0.29999999999999999) + (testColor2.green * 0.59999999999999998) + (testColor2.blue * 0.10000000000000001))
- pixelDiff = runningLevel - runningLevel2
- myCurrentSelection.setPixel(X, Y, rgb(testColor2.red - pixelDiff, testColor2.green - pixelDiff, testColor2.blue - pixelDiff))
- end repeat
- end repeat
- myCurrentImage.copyPixels(myStartImage, myCurrentImage.rect, myStartImage.rect)
- myCurrentImage.copyPixels(myCurrentSelection, gSelectRect, myCurrentSelection.rect)
- member(gSize & "x" & gSize, gCast).image.copyPixels(myCurrentImage, myCurrentImage.rect, myCurrentImage.rect)
- updateStage()
- fnUpdatePreview()
- gSelectionEdited = 1
- tempImage = VOID
- myBufferImage = VOID
- end if
- cursor(0)
- end
-
- on loadAdjustHSL
- if sprite(1).pUndoTrigger = 1 then
- sendSprite(189, #resetHSLSlider)
- member("adj hsl - " & gSize, gCast).image = member(gSize & "x" & gSize, gCast).image
- gHSL = duplicate(member(gSize & "x" & gSize, gCast).image)
- updateStage()
- else
- beep()
- end if
- end
-
- on applyAdjustHSL
- if gHSL <> VOID then
- member("state1 - " & gSize, gCast).image = member(gSize & "x" & gSize, gCast).image
- myCurrentImage = member("adj hsl - " & gSize, gCast).image
- myCurrentPreview = duplicate(member("preview", gCast).image)
- member(gSize & "x" & gSize, gCast).image.copyPixels(myCurrentImage, myCurrentImage.rect, myCurrentImage.rect)
- updateStage()
- fnUpdatePreview()
- sprite(35).pState = 0
- sendSprite(35, #setMember)
- member("state2 - " & gSize, gCast).image = member(gSize & "x" & gSize, gCast).image
- myCurrentImage = VOID
- myCurrentPreview = VOID
- else
- beep()
- end if
- end
-
- on loadAdjustTone
- if sprite(1).pUndoTrigger = 1 then
- sendSprite(195, #resetBCSlider)
- member("adj tone - " & gSize, gCast).image = member(gSize & "x" & gSize, gCast).image
- gBC = duplicate(member(gSize & "x" & gSize, gCast).image)
- imageMinMax = [127, 128]
- repeat with Y = 0 to integer(gSize) - 1
- repeat with X = 0 to integer(gSize) - 1
- testColor = gBC.getPixel(X, Y)
- runningLevel = integer((testColor.red * 0.29999999999999999) + (testColor.green * 0.59999999999999998) + (testColor.blue * 0.10000000000000001))
- if runningLevel < imageMinMax[1] then
- imageMinMax[1] = runningLevel
- end if
- if runningLevel > imageMinMax[2] then
- imageMinMax[2] = runningLevel
- end if
- end repeat
- end repeat
- gBCMin = imageMinMax[1]
- gBCMax = imageMinMax[2]
- updateStage()
- else
- beep()
- end if
- end
-
- on applyAdjustTone
- if gBC <> VOID then
- member("state1 - " & gSize, gCast).image = member(gSize & "x" & gSize, gCast).image
- myCurrentImage = member("adj tone - " & gSize, gCast).image
- myCurrentPreview = duplicate(member("preview", gCast).image)
- member(gSize & "x" & gSize, gCast).image.copyPixels(myCurrentImage, myCurrentImage.rect, myCurrentImage.rect)
- updateStage()
- fnUpdatePreview()
- sprite(35).pState = 0
- sendSprite(35, #setMember)
- member("state2 - " & gSize, gCast).image = member(gSize & "x" & gSize, gCast).image
- myCurrentImage = VOID
- myCurrentPreview = VOID
- else
- beep()
- end if
- end
-